Accéder au contenu principal Passer au contenu complémentaire

Exemples de fonctions de la catégorie Inter-enregistrements du graphique

Exemples de la fonction top

Ces exemples sont obtenus avec la fonction top, mais peuvent être appliqués de la même manière aux fonctions bottom, first et last. Rappelons toutefois que les fonctions first et last ne sont pertinentes que pour les tableaux croisés dynamiques.

 

Étudiez le tableau simple ci-dessous, qui décrit l'utilisation de la fonction top dans une table unidimensionnelle :

Example table image of one dimensional straight table with top function
Exemple de table : Table simple unidimentionnelle avec la fonction top
Month sum(Val) top(sum(Val)) sum(Val) / top(sum(Val))
- 21 3 700%
1 3 3 100%
2 7 3 233%
3 11 3 367%

Dans le cas d'une seule dimension, la fonction top se référera toujours à la première ligne de données de la table (la ligne des totaux n'est pas incluse).

Les expressions utilisant la fonction top seront évaluées correctement sur la ligne des totaux aussi, puisque le total a un rapport clair à un segment de colonne particulier, en l'occurrence la colonne entière.

 

Vous trouverez ci-dessous un tableau simple bidimensionnel, trié principalement sur le champ Grp.

Example table image of two dimensional straight table with total qualifier
Exemple de table : Table simple bidimensionnelle avec le qualificateur total
Month Grp sum(Val) top(sum(Val)) top(total sum(Val))
- - 21 - 1
1 A 1 1 1
2 A 3 1 1
3 A 5 1 1
1 B 2 2 1
2 B 4 2 1
3 B 6 2 1

La fonction top sans le qualificateur total renverra maintenant l'expression évaluée sur la ligne supérieure dans le groupe de tri (la dimension Grp en l'occurrence). Une valeur sera renvoyée pour Grp = A et une autre pour Grp = B.

En utilisant le qualificateur total dans le cas de tableaux à plusieurs dimensions, vous pouvez encore vous référer à la ligne supérieure de la table dans l'absolu et obtenir la même valeur pour toutes les lignes. L'expression sera bien sûr évaluée pour le segment de colonne couvrant la colonne entière.

L'expression utilisant la fonction top sans le qualificateur total renverra NULL dans la ligne des totaux, parce qu'elle ne peut pas l'associer clairement à un segment de colonne particulier.

Nous allons maintenant convertir le tableau simple ci-dessus en tableau croisé dynamique avec tous les totaux activés.

Example table image of two dimensional pivot table with total qualifier
Exemple de table : Tableau croisé dynamique bidimentionnel avec le qualificateur total
Month Grp sum(Val) top(sum(Val)) top(total sum(Val))
1 A 1 1 1
1 B 2 1 1
1 Total 3 1 -
2 A 3 3 1
2 B 4 3 1
2 Total 7 3 -
3 A 5 5 1
3 B 6 5 1
3 Total 11 5 -
Total - 21 - 1

L'expression utilisant la fonction top sans le qualificateur total renverra NULL dans la ligne des totaux, parce qu'elle ne peut pas l'associer clairement à un segment de colonne particulier. Cependant, toutes les sommes partielles seront évaluées pour chaque segment de colonne.

Il manquera des valeurs à l'expression utilisant le qualificatif total dans les totaux partiels, mais elle renverra une valeur pour la ligne de total général.

 

Étudiez le tableau simple suivant trié sur le champ Grp :

Example table image of Two dimensional straight table sorted by Grp
Exemple de table : Table simple bidimensionnelle triée par Grp
Month Grp sum(Val) top(sum(Val)) sum(Val) / top(sum(Val))
- - 21 - -
1 A 1 1 100%
2 A 3 1 300%
3 A 5 1 500%
1 B 2 2 100%
2 B 4 2 200%
3 B 6 2 300%

Nous pouvons ensuite modifier l'ordre de tri inter-champs de façon à ce que le graphique soit trié d'abord sur le champ Mois. Le tableau ressemblera alors à ceci :

Example table image of Two dimensional straight table sorted by Month
Exemple de table : Table simple bidimensionnelle triée par Month
Month Grp sum(Val) top(sum(Val)) sum(Val) / top(sum(Val))
- - 21 - -
1 A 1 1 100%
1 B 2 1 200%
2 A 3 3 100%
2 B 4 3 133%
3 A 5 5 100%
3 B 6 5 120%

Exemples de la fonction above

Ces exemples sont obtenus avec la fonction above, mais peuvent être appliqués de la même manière aux fonctions below, before et after. Rappelons toutefois que les fonctions before et after ne sont pertinentes que pour les tableaux croisés dynamiques.

 

Étudiez le tableau simple ci-dessous, qui décrit l'utilisation de la fonction above dans une table unidimensionnelle :

Example table image of one dimensional straight table with Above function
Exemple de table : Table simple unidimensionnelle avec la fonction Above
Month sum(Val) above(sum(Val)) sum(Val) / above(sum(Val))
- 21 - -
1 3 - -
2 7 3 233%
3 11 7 157%

La troisième colonne montre l'expression sum(Val) évaluée une ligne au-dessus de la ligne active, ce qu'on peut confirmer en la comparant aux valeurs obtenues pour sum(val) dans la deuxième colonne. La fonction above renvoie NULL sur la première ligne, puisqu'il n'y a pas de ligne au-dessus qui permette d'évaluer l'expression. La fonction above renvoie toujours NULL sur toutes les lignes de totaux.

La quatrième colonne illustre l'utilisation la plus courante de cette fonction, à savoir le calcul de la différence entre des périodes distinctes, par exemple.

 

Étudiez le tableau croisé dynamique bidimensionnel ci-dessous :

Example table image of two dimension pivot table and the effect of total qualifier
Exemple de table : Tableau croisé dynamique bidimensionnel avec le qualificateur total
Grp Month sum(Val) above(sum(Val)) above(total sum(Val))
A 1 1 - -
A 2 3 1 1
A 3 5 3 3
A Total 9 - -
B 1 2 - 5
B 2 4 2 2
B 3 6 4 4
B Total 12 - -
Total - 21 - -

La fonction above sans le qualificateur total (troisième colonne) agira uniquement dans chaque groupe de tri. Une valeur NULL sera renvoyée pour la ligne supérieure de chaque segment de colonne.

Quand un qualificateur total est ajouté (quatrième colonne), la colonne entière est considérée comme un segment de colonne. Seule la ligne supérieure renverra NULL. Toutes les lignes de totaux sont ignorées et renvoient NULL.

 

Exemples des fonctions RowNo et NoOfRows

Cet exemple est obtenu avec les fonctions RowNo et NoOfRows, mais peut être appliqué de manière similaire aux fonctions ColumnNo et NoOfColumns. Rappelons toutefois que les fonctions ColumnNo et NoOfColumns ne sont pertinentes que pour les tableaux croisés dynamiques.

 

Étudiez le tableau croisé dynamique bidimensionnel ci-dessous :

Example table image of RowNo and NoOfRows functions
Exemple de table : Fonctions RowNo et NoOfRows
Month Grp RowNo() RowNo(total) NoOfRows() NoOfRows(total)
1 A 1 1 2 6
1 B 2 2 2 6
1 Total 0 - 2 -
2 A 1 3 2 6
2 B 2 4 2 6
2 Total 0 - 2 -
3 A 1 5 2 6
3 B 2 6 2 6
3 Total 0 - 2 -
Total - - 0 - 6
  • Colonne 3 La fonction RowNo renvoie le numéro de la ligne dans chaque segment de colonne du groupe de tri. Dans les lignes de sous-totaux, c'est le numéro de ligne 0 qui sera renvoyé, car ces totaux appartiennent clairement à un segment de colonne particulier. NULL sera renvoyé pour la ligne de total général.
  • Colonne 4 Avec le qualificateur total, la fonction RowNo renvoie le numéro de la ligne dans la colonne entière. Dans les lignes de sous-totaux, elle renverra une valeur NULL. Elle renverra 0 pour la ligne de total général.
  • Colonne 5 La fonction NoOfRows renvoie le nombre de lignes de données dans chaque segment de colonne du groupe de tri. Dans les lignes de sous-totaux, elle renverra le même nombre que pour les lignes de données. NULL sera renvoyé pour la ligne de total général.
  • Colonne 6 Avec le qualificatif total, la fonction NoOfRows renverra le nombre de lignes de données dans la colonne entière, qui correspond à ce qui sera renvoyé dans la ligne de total général. Dans les lignes de sous-totaux, elle renverra NULL.

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !

Rejoignez le Programme de modernisation analytique

Remove banner from view

Modernisez votre système sans compromettre vos précieuses applications QlikView grâce au Programme de modernisation analytique. Cliquez ici pour plus d'informations ou contactez : ampquestions@qlik.com